package a.a;

import a.c.d;
import a.c.e;
import a.c.n;
import a.c.q;
import a.c.w;
import a.c.*;

public class h
{
  private n a;
  private int b;
  private int c;
  private boolean d = true;
  private boolean e = false;
  protected x f;
  protected static final Object g = null;
  protected static final Object h = new Object();
  protected static final Object i = new Object();
  private final byte[] j = new byte[1];
  public static int k;
  
  public void a(boolean paramBoolean)
  {
    this.e = paramBoolean;
  }
  
  public void b(boolean paramBoolean)
  {
    this.d = paramBoolean;
  }
  
  public void a(q paramq)
  {
    if (paramq.k() == 0) {
      return;
    }
    a(paramq, paramq.p());
  }
  
  public void a(q paramq, e parame)
  {
    int n = m.b;
    boolean bool = m.a;
    if (n == 0)
    {
      if (parame == null) {
        return;
      }
      this.f = paramq.B();
    }
    if (n == 0)
    {
      if (!this.e) {
        this.a = paramq.C();
      }
      this.b = 0;
      this.c = 0;
    }
    int m = Math.min(60, paramq.j() + 3);
    a_ locala_ = new a_(m);
    try
    {
      a(locala_, parame);
      if (this.d)
      {
        w localw = paramq.v();
        do
        {
          if (!localw.e()) {
            break;
          }
          e locale = localw.d();
          if (n == 0)
          {
            if (this.f.get(locale) == null)
            {
              a(locale);
              a(locala_, locale);
            }
            localw.f();
          }
        } while (!bool);
      }
    }
    finally
    {
      locala_ = null;
      paramq.a(this.f);
      this.f = null;
      if (n == 0)
      {
        if (!this.e) {
          paramq.a(this.a);
        }
      }
      else {
        this.a = null;
      }
    }
  }
  
  private final d a(e parame, d paramd, byte[] paramArrayOfByte)
  {
    int m = m.b;
    if (m == 0) {}
    d locald;
    switch (paramArrayOfByte[0])
    {
    case 0: 
      if (this.e)
      {
        paramArrayOfByte[0] = 1;
        return parame.h();
      }
      locald = parame.h();
      if (m == 0)
      {
        if (locald == null)
        {
          locald = parame.i();
          paramArrayOfByte[0] = 3;
          return locald;
        }
        paramArrayOfByte[0] = 2;
      }
      return locald;
    case 1: 
      return paramd.i();
    case 2: 
      locald = paramd.i();
      if (m == 0) {
        if (locald == null)
        {
          locald = parame.i();
          paramArrayOfByte[0] = 3;
        }
      }
      return locald;
    case 3: 
      return paramd.j();
    }
    throw new InternalError();
  }
  
  private final void a(a_ parama_, e parame)
  {
    int m = m.b;
    boolean bool = m.a;
    this.j[0] = 0;
    Object localObject1 = parame;
    this.f.a(localObject1, h);
    a((e)localObject1, ++this.b);
    d locald1 = a((e)localObject1, null, this.j);
    parama_.a((e)localObject1, locald1, this.j[0], this.b);
    label184:
    label186:
    label330:
    label333:
    label370:
    label373:
    do
    {
      do
      {
        do
        {
          if (parama_.a()) {
            break;
          }
          locald1 = parama_.d();
          this.j[0] = parama_.f();
          do
          {
            do
            {
              do
              {
                if (locald1 == null) {
                  break label373;
                }
                if (bool) {
                  break label414;
                }
                if (!this.e)
                {
                  if (m != 0) {
                    break label370;
                  }
                  if (this.a.getBool(locald1)) {
                    break label333;
                  }
                }
                if ((m != 0) || (!this.e))
                {
                  this.a.a(locald1, true);
                  if (m != 0) {
                    break label184;
                  }
                  localObject2 = locald1.a((e)localObject1);
                  if (!bool) {
                    break label186;
                  }
                }
                localObject2 = locald1.f();
                if (m != 0) {
                  break label304;
                }
                if (this.f.get(localObject2) != null) {
                  break;
                }
                a(locald1, (e)localObject2, true);
                this.f.a(localObject2, h);
                localObject1 = localObject2;
                a((e)localObject1, ++this.b);
                this.j[0] = 0;
                locald1 = a((e)localObject1, null, this.j);
                parama_.a((e)localObject1, locald1, this.j[0], this.b);
                if (m != 0) {
                  break label330;
                }
              } while (!bool);
              a(locald1, (e)localObject2, false);
              locald1 = a((e)localObject1, locald1, this.j);
              parama_.a(locald1, this.j[0]);
            } while (!bool);
            locald1 = a((e)localObject1, locald1, this.j);
            parama_.a(locald1, this.j[0]);
            if (m != 0) {
              break label410;
            }
            if (m != 0) {
              break label414;
            }
          } while (!bool);
          a((e)localObject1, parama_.g(), ++this.c);
          this.f.a(localObject1, i);
          parama_.b();
        } while (parama_.a());
        Object localObject2 = parama_.d();
        a((d)localObject2, (e)localObject1);
        localObject1 = parama_.c();
        this.j[0] = parama_.f();
        d locald2 = a((e)localObject1, (d)localObject2, this.j);
        parama_.a(locald2, this.j[0]);
      } while (m != 0);
    } while (!bool);
    label304:
  }
  
  protected void a(e parame, int paramInt) {}
  
  protected void a(e parame, int paramInt1, int paramInt2) {}
  
  protected void a(d paramd, e parame, boolean paramBoolean) {}
  
  protected void a(d paramd, e parame) {}
  
  protected void a(e parame) {}
  
  static final class a_
  {
    int a = -1;
    byte[] b;
    d[] c;
    int[] d;
    e[] e;
    
    a_(int paramInt)
    {
      this.d = new int[paramInt];
      this.c = new d[paramInt];
      this.b = new byte[paramInt];
      this.e = new e[paramInt];
    }
    
    final boolean a()
    {
      if (m.b == 0) {}
      return this.a < 0;
    }
    
    final void b()
    {
      this.a -= 1;
    }
    
    final e c()
    {
      return this.e[this.a];
    }
    
    final d d()
    {
      return this.c[this.a];
    }
    
    final byte f()
    {
      return this.b[this.a];
    }
    
    final int g()
    {
      return this.d[this.a];
    }
    
    final int a(e parame, d paramd, byte paramByte, int paramInt)
    {
      this.a += 1;
      if (m.b == 0)
      {
        if (this.a == this.e.length)
        {
          int i = (this.a + 1) * 2;
          e[] arrayOfe = new e[i];
          System.arraycopy(this.e, 0, arrayOfe, 0, this.e.length);
          this.e = arrayOfe;
          d[] arrayOfd = new d[i];
          System.arraycopy(this.c, 0, arrayOfd, 0, this.c.length);
          this.c = arrayOfd;
          int[] arrayOfInt = new int[i];
          System.arraycopy(this.d, 0, arrayOfInt, 0, this.d.length);
          this.d = arrayOfInt;
          byte[] arrayOfByte = new byte[i];
          System.arraycopy(this.b, 0, arrayOfByte, 0, this.b.length);
          this.b = arrayOfByte;
        }
        this.e[this.a] = parame;
        this.c[this.a] = paramd;
        this.b[this.a] = paramByte;
      }
      return this.d[this.a] = paramInt;
    }
    
    final void a(d paramd, byte paramByte)
    {
      this.c[this.a] = paramd;
      this.b[this.a] = paramByte;
    }
  }
}



/* Location:           E:\idea\

 * Qualified Name:     a.a.h

 * JD-Core Version:    0.7.0.1

 */